Задачки по ноде

Просто немного задачек по Node.JS.

  1. Напишите функцию, которая принимает на вход массив урлов и обходит их - но так, чтобы она обходила не более пяти адресов одновременно, чтобы не создавать избыточной нагрузки на сервер.
  2. Напишите функцию, которая принимает на вход имя каталога и печатает всего его файлы и подкаталоги.
  3. Напишите свою реализацию Reduce
  4. Напишите функцию для клонирования объекта, опишите ограничения
  5. Сделайте аналог крона - чтобы некая функция вызывалась раз в 2 секунды. Описать варианты реализации и ограничения.
  6. Напишите три способа поприветствовать Джона, используя эти данные и функцию:
    1
    2
    3
    4
    5
    6
    7
    8
    const person = {
    firstName: 'John',
    lastName: 'Doe'
    }

    function greet(greeting, message) {
    return `${greeting} ${this.firstName}. ${message}`;
    }
  7. С бекенда приходит такой массив c возрастом учеников:
    1
    2
    3
    4
    5
    var arr = [
    { name: 'Vasya', age: 10 },
    { name: 'Petya', age: 20 },
    // ...
    ];
    Нужно получить средний возраст.
  8. Напишите функцию, которая получает содержимое веб странички и делает пять ретраев в случае, если сервер недоступен. Нужно сделать в трёх вариантах - на асик эвейте, на промисах и на коллбеках.